// 使用 mariadb 模块提供的支持连接MariaDB数据库服务

const mariadb = require('mariadb');



// 指定数据库连接池配置
const config = {
    /* 主机地址 */
    host: 'localhost',
    /* 端口号 */
    port: 3306,
    /* 数据库名称 */
    database: 'ecut',
    /* 用户名 */
    user: 'root',
    /* 连接数限制 */
    connectionLimit: 5
}

// 使用mariadb提供的支持创建数据库连接池
const pool = mariadb.createPool(config);
// const pool = mariadb.createPool({ host: 'localhost', port: 3306, database: 'ecut', user: 'root', connectionLimit: 5 });

// 从 数据库连接池 中获得 数据库连接
const connection = pool.getConnection();

// 当成功获得数据库连接时执行的操作
let fulfillment = function(conn) {

    let select = 'SELECT * FROM t_student';
    // 使用 conn 提供的支持完成查询操作
    let p = conn.query(select);
    console.log(p);

    p.then(rows => {
        if (Array.isArray(rows)) {
            rows.forEach(e => {
                console.log(e);
            });
        }
    }).catch(error => {
        console.log(error);
    });

}

// 当获得数据库连接时发生故障则执行该操作
let rejection = error => {
    console.log(error);
}

// 当成功获得数据库连接后就执行 then 函数第一个参数传入的函数
// 当获得连接失败时就执行 catch 函数的参数传入的函数
connection.then(fulfillment).catch(rejection);